package estacion.persistencia;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;

import estacion.dominio.Conductor;
import estacion.dominio.TiposLicencia;


public class FPLicencias {

	public static void insertLicencia(TiposLicencia lic) throws Exception {
		String SQL="Insert into tipo_licencia(tipo_licencia) values('"+lic.getTipo_licencia()+"')";
		Conexion bd=null;
		Exception ex=null;
		PreparedStatement p=null;
		try {
			bd=Gestor_bbdd.get().getBD();
			p=bd.prepareStatement(SQL);
			p.executeUpdate();
		}
		catch (Exception e) {
			ex=e;
		}
		finally {
			bd.close();
			if (ex!=null)
				throw ex;
		}
	}

	
	public static void deleteLicencia(String licencia) throws Exception {
		String SQL="Delete from tipo_licencia where tipo_licencia=?";
		Conexion bd=null;
		Exception ex=null;
		PreparedStatement p=null;
		try {
			bd=Gestor_bbdd.get().getBD();
			p=bd.prepareStatement(SQL);
			p.setString(1, licencia);
			p.executeUpdate();
		}
		catch (Exception e) {
			ex=e;
		}
		finally {
			bd.close();
			if (ex!=null)
				throw ex;
		}	
	}
	
	//MODIFICADO
	public static boolean consultLicencia(TiposLicencia licencia) throws Exception {
		boolean existe=false;
		String SQL="Select * from tipo_licencia where tipo_licencia='"+licencia+"'";
		
		Conexion bd=null;
		Exception ex=null;
		PreparedStatement p=null;
		try {
			bd=Gestor_bbdd.get().getBD();
			p=bd.prepareStatement(SQL);
			ResultSet r=p.executeQuery();
			while (r.next()) {
				existe = true;
			}			
		}
		catch (Exception e) {
			ex=e;
		}
		finally {
			bd.close();
			if (ex!=null)
				throw ex;
		}
		return existe;
	}
	
	
	/*public static void modificarLicencia(TiposLicencia lic, String dni) throws Exception{
		
		String SQL="UPDATE licenciaConductor SET tipo_licencia='"+lic.getTipo_licencia()+"' where DNI= '"+dni+"'";
		Conexion bd=null;
		Exception ex=null;
		PreparedStatement update=null;
		try {
			bd=Gestor_bbdd.get().getBD();
			update=bd.prepareStatement(SQL);
			update.executeUpdate();			
		}
		catch (Exception e) {
			ex=e;
		}
		finally {
			bd.close();
			if (ex!=null)
				throw ex;
		}
	}*/
	
	public static Vector<TiposLicencia> getLicencias() throws Exception {
		Vector<TiposLicencia> result=new Vector<TiposLicencia>();
		String SQL="Select * from tipo_licencia";
		Conexion bd=null;
		Exception ex=null;
		PreparedStatement p=null;
		try {
			bd=Gestor_bbdd.get().getBD();
			p=bd.prepareStatement(SQL);
			ResultSet r=p.executeQuery();
			while (r.next()) {
				TiposLicencia c=new TiposLicencia();
				c.setTipo_licencia(r.getString("tipo_licencia"));
				result.add(c);
			}			
		}
		catch (Exception e) {
			ex=e;
		}
		finally {
			bd.close();
			if (ex!=null)
				throw ex;
		}
		return result;
	}
}
